using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AutumnEngine.Modules
{
    /// <summary>
    /// The basic module class.
    /// </summary>
    public class Module
    {

        public bool CanBeDisabled
        {
            get;
            set;
        }

        public bool IsDisabled
        {
            get;
            internal set;
        }

        public bool Removable
        {
            get;
            set;
        }


        public Module()
        {                    
        }

        public virtual void Enabled()
        {
        }

        public virtual void Disabled()
        {
        }

        public virtual void Removed()
        {
            Destroy();
        }

        public virtual void Update()
        {

        }
        public virtual void Draw()
        {

        }
        public virtual void Create()
        {
            CanBeDisabled = true;
            Removable = true;
        }
        public virtual void Destroy()
        {

        }
    }
}